/* ArcWTF - tweaks/hide-tabs-bar.css
 * https://github.com/KiKaraage/ArcWTF */

/*
  MARK: Hide tabs toolbar
*/
  /* Only hide the tabs toolbar if one of the following sidebar extensions is
   * active: Sidebery, Tree Style Tab, or Tab Center Reborn. */
  :root:not([customizing]):has(#sidebar-box[sidebarcommand="_3c078156-979c-498b-8990-85f7987dd929_-sidebar-action"]:not([hidden])),
  :root:not([customizing]):has(#sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"]:not([hidden])),
  :root:not([customizing]):has(#sidebar-box[sidebarcommand="tabcenter-reborn_ariasuni-sidebar-action"]:not([hidden])) {
  /* Height of navbar, used for determining height and position of window controls */
  --uc-navbar-height: 32px;
  /* Drag space next to the window controls, allows you to move the window more easily */
  --uc-titlebar-drag-space: 40px;

    /* Hide the tabs */
    #TabsToolbar {
      visibility: collapse !important;
    }

    /* Fix issue with missing window controls. */
    &[tabsintitlebar] #titlebar,
    &[tabsintitlebar] #TabsToolbar {
      will-change: auto !important;
    }

    /* Add some padding to the top of the navbar */
    &[tabsintitlebar] #nav-bar {
      padding-top: var(--uc-tab-top-margin, 0) !important;
    }

    /* Set background colour of the menu bar to maintain consistency with the navbar */
    @media not (-moz-bool-pref: "uc.tweak.floating-tabs"),
      not (-moz-pref("uc.tweak.rounded-corners")) {
      #toolbar-menubar {
        background-color: var(--toolbar-bgcolor) !important;
        color: var(--toolbar-color) !important;
      }
    }

    /*
      MARK: Window controls
    */
    #toolbar-menubar:not([autohide="false"]) ~ #nav-bar {
      /* Firefox 133 added window controls to nav-bar. */
      .titlebar-buttonbox-container {
        display: flex !important;
        margin-top: calc(-1 * var(--uc-tab-top-margin, 0)) !important;

        @media (-moz-platform: macos) {
          margin-inline: 0 !important;

          .titlebar-buttonbox {
            margin-inline: calc((var(--uc-navbar-height) + var(--uc-tab-top-margin, 0px) - 14px) / 2) !important;
          }
        }
      }

      /* Space between window controls and navbar items. */
      .titlebar-spacer {
        width: max(calc(var(--uc-titlebar-drag-space, 0px) - var(--toolbar-start-end-padding, 0px)), 0px) !important;
      }

      /* Display left spacer (macOS and certain Linux configs). */
      @media (-moz-platform: macos),
      (-moz-gtk-csd-reversed-placement) {
        .titlebar-spacer[type*="pre"] {
          display: flex !important;
        }
      }

      /* Display right spacer (Windows and Linux). */
      @media (-moz-platform: windows),
          /* Navbar space reserved for three buttons. */
          @media (-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-maximize-button) and (-moz-gtk-csd-close-button) {
            --uc-window-controls-width: calc(var(--uc-window-control-btn) * 3);
          }

          /* Offset navbar contents to make space for the window controls */
          &:where([inFullscreen], [tabsintitlebar]) #nav-bar {
            /* Window controls on the right. */
            @media not (-moz-gtk-csd-reversed-placement) {
              padding-inline-end: calc(var(--uc-window-controls-width, 0px) + var(--uc-titlebar-drag-space)) !important;

              /* Remove the padding from the side of the navbar */
              #PanelUI-menu-button {
                padding-inline-end: 0 !important;
              }
            }

            /* Window controls on the left. */
            @media (-moz-gtk-csd-reversed-placement) {
              padding-inline-start: calc(var(--uc-window-controls-width, 0px) + var(--uc-titlebar-drag-space)) !important;

              /* Remove the padding from the side of the navbar */
              #nav-bar-customization-target > :is(toolbarbutton, toolbaritem):first-child {
                padding-inline-start: 0 !important;
              }
            }
          }

          /* Positioning of the window controls */
          :where(#toolbar-menubar[inactive]) + #TabsToolbar .titlebar-buttonbox {
            visibility: visible !important;
            position: fixed !important;
            top: 0;
            height: calc(var(--uc-navbar-height) + var(--uc-tab-top-margin, 0)) !important;
            z-index: 100 !important;
            inset-inline: auto 0;

            @media (-moz-gtk-csd-reversed-placement) {
              inset-inline: 0 auto !important;
            }
          }
        }
      }

/*
  MARK: Sidebar styles
*/
#sidebar-box:where([sidebarcommand="_3c078156-979c-498b-8990-85f7987dd929_-sidebar-action"]:not([hidden])),
#sidebar-box:where([sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"]:not([hidden])),
#sidebar-box:where([sidebarcommand="tabcenter-reborn_ariasuni-sidebar-action"]:not([hidden])) {
  --sidebar-background-color: var(--toolbar-bgcolor) !important;
  --sidebar-text-color: var(--toolbar-color) !important;
  --sidebar-border-color: var(--chrome-content-separator-color) !important;
  position: relative !important;

  /* Floating tabs tweak uses the tab toolbar background instead. */
  @media (-moz-bool-pref: "uc.tweak.floating-tabs"),
    -moz-pref("uc.tweak.floating-tabs") {
    --sidebar-background-color: var(--lwt-accent-color) !important;
    --sidebar-text-color: var(--lwt-text-color) !important;

    &:-moz-window-inactive {
      --sidebar-background-color: var(--lwt-accent-color-inactive) !important;
      --sidebar-text-color: var(--lwt-text-color-inactive) !important;
    }
  }

  #sidebar-header {
    border-bottom: 0 !important;
    padding: 10px 4px 0 !important;
    overflow: hidden;
    position: relative;

    #sidebar-switcher-target,
    #sidebar-close {
      width: auto !important;
      height: 28px !important;
      padding: 0 8px !important;
      border: none !important;
      margin-inline: 0 !important;
    }

    #sidebar-spacer {
      min-width: 8px !important;
    }
  }

  /* Sidebar positioned on the left. */
  &:not([positionend]) {
    border-inline-end: 1px solid var(--sidebar-border-color);
    /* Use less padding on the side with the border. */
    padding-inline: 4px 3px;
  }

  /* Sidebar positioned on the right. */
  &[positionend] {
    border-inline-start: 1px solid var(--sidebar-border-color);
    /* Use less padding on the side with the border. */
    padding-inline: 3px 4px;
  }

  /* Rounded corners tweak optimisations. */
  @media (-moz-bool-pref: "uc.tweak.rounded-corners") {
    /* Remove padding and border from sidebar. */
    &:not([positionend]),
    &[positionend] {
      border-inline: none;
      padding-inline: 0;
    }

    @media (-moz-bool-pref: "uc.tweak.theme.sidebery") {
      border-radius: 0 !important;
      box-shadow: none !important;

      &:not([positionend]) {
        padding-inline-end: 3px;
      }

      &[positionend] {
        padding-inline-start: 3px;
      }
    }

    #sidebar-header {
      padding-top: 4px !important;
    }
  }
}
